package br.edu.sistemaacademico.pojo;

import java.io.Serializable;

import br.edu.sistemaacademico.Memento.Memento;

public class Historico implements Serializable{

	private Matricula matricula;
	private Turma turma;
	private Float media;
	private String dataIncricao;
	private int faltas;
	private float mediaTurma;
	private String situacao;
	
	
	public String getSituacao() {
		return situacao;
	}
	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}
	public float getMediaTurma() {
		return mediaTurma;
	}
	public void setMediaTurma(float mediaTurma) {
		this.mediaTurma = mediaTurma;
	}
	public Matricula getMatricula() {
		return matricula;
	}
	public void setMatricula(Matricula matricula) {
		this.matricula = matricula;
	}
	public Turma getTurma() {
		return turma;
	}
	public void setTurma(Turma turma) {
		this.turma = turma;
	}
	public Float getMedia() {
		return media;
	}
	public void setMedia(Float media) {
		this.media = media;
		if(media>=70f)
			setSituacao("APROVADO");
		else
			setSituacao("REPROVADO");			
	}
	public String getDataIncricao() {
		return dataIncricao;
	}
	public void setDataIncricao(String dataIncricao) {
		this.dataIncricao = dataIncricao;
	}
	public int getFaltas() {
		return faltas;
	}
	public void setFaltas(int faltas) {
		this.faltas = faltas;
	}

	public Memento save(){
		return new Memento(this);
	}
	public void restore(Memento memento){
		Historico h = (Historico) memento.getMemento();
		this.dataIncricao = h.getDataIncricao();
		this.faltas = h.getFaltas();
		this.matricula = h.getMatricula();
		this.media = h.getMedia();
		this.mediaTurma = h.getMediaTurma();
		this.situacao = h.getSituacao();
		this.turma = h.getTurma();
	}
}
